Ein Bezeichner wird für ST akzeptiert, aber nicht im SPS-Objekt. Das Refactoring des Bezeichners funktioniert nicht wie erwartet
Symptom:
-
Es ist möglich, einen →Bezeichner in einem ST-Objekt zu verwenden. Der gleiche Bezeichner wird im SPS-Objekt jedoch als Fehler gekennzeichnet.
Beispiel: Der BezeichnerINTERVAL
für ein →Programm kann im ST-Editor angegeben werden. WennINTERVAL
aber als Programm→instanz im SPS-Objekt eingetragen wird, wirdINTERVAL
im SPS-Objekt als fehlerhaft markiert. -
Beim Versuch, den Bezeichner mit Hilfe der Refactoring-Funktionalität im ST-Editor umzubenennen – und damit gleichzeitig den fehlerhaften Bezeichner im Editor für das SPS-Objekt, wird nur der Bezeichner im ST-Objekt umbenannt. Der ursprüngliche, fehlerhafte Bezeichner im SPS-Objekt bleibt erhalten.
Ursache:
-
Der Bezeichner entspricht einem →Schlüsselwort, das laut →IEC-Norm reserviert ist. Einige der Schlüsselwörter sind für ST erlaubt, jedoch nicht in einem SPS-Objekt. Siehe "Reservierte Schlüsselwörter in ST" für mehr Informationen.
-
Die Refactoring-Funktionalität wird nicht auf fehlerhafte Bezeichner angewendet.
Abhilfe 1:
-
Öffnen Sie die Sicht Fehler, in der die Fehler für die Objekte angezeigt werden.
-
Doppelklicken Sie auf den Eintrag, um zum entsprechenden Fehler im SPS-Objekt zu navigieren.
-
Korrigieren Sie den fehlerhaften Ausdruck so, dass er kein Schlüsselwort mehr ist.
-
Speichern Sie die Änderung.
-
Falls die Referenz für das Objekt nach dieser Änderung nicht aufgelöst wird, korrigieren Sie zusätzlich den Bezeichner im ST-Objekt (z.B. den Bezeichner für das Programm).
Abhilfe 2: Falls Sie die Bezeichner gerade erst auf ein nicht-akzeptiertes Schlüsselwort geändert haben (z.B. mit Hilfe der Refactoring-Funktionalität): Machen Sie diese Aktion rückgängig.